home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / flight-of-the-museum.swf / scripts / engine / dynamicObjects / InkBlob.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  2.3 KB  |  88 lines

  1. package engine.dynamicObjects
  2. {
  3.    import engine.BitmapLibrary;
  4.    import engine.Engine;
  5.    import engine.WorldScene;
  6.    
  7.    public class InkBlob extends DynamicObject
  8.    {
  9.        
  10.       
  11.       private var _scaleSin:Number = 0;
  12.       
  13.       private var _scaleSinVel:Number = 0.25;
  14.       
  15.       public function InkBlob()
  16.       {
  17.          _scaleSin = 0;
  18.          _scaleSinVel = 0.25;
  19.          _bmdArray = BitmapLibrary.Clips.DYN_InkBlob;
  20.          super(_bmdArray[0]);
  21.          _drawMethod = DMETHOD.Slow;
  22.          _objectType = OBJ_TYPES.GP;
  23.          solid = true;
  24.          _blendMode = "multiply";
  25.          _auditThreshhold = 100;
  26.       }
  27.       
  28.       public function launchAt(obj:*, camLoc:*) : *
  29.       {
  30.          var angleOffsetRand:Number = NaN;
  31.          var aoNum:Number = NaN;
  32.          var speedBoost:Number = NaN;
  33.          var sx:Number = NaN;
  34.          var sy:Number = NaN;
  35.          var tx:Number = NaN;
  36.          var ty:Number = NaN;
  37.          var tR:Number = NaN;
  38.          var vec:Object = null;
  39.          angleOffsetRand = 0;
  40.          aoNum = 0.5 - Engine.Instance.Difficulty * 0.04;
  41.          if(aoNum < 0)
  42.          {
  43.             aoNum = 0;
  44.          }
  45.          if(aoNum > 0)
  46.          {
  47.             if(Math.random() > 0.5)
  48.             {
  49.                angleOffsetRand = aoNum;
  50.             }
  51.             else
  52.             {
  53.                angleOffsetRand = -aoNum;
  54.             }
  55.          }
  56.          speedBoost = Engine.Instance.Difficulty * 0.1;
  57.          if(speedBoost > 5)
  58.          {
  59.             speedBoost = 5;
  60.          }
  61.          sx = x + -camLoc.x * z;
  62.          sy = y + -camLoc.y * z;
  63.          tx = obj.x + -camLoc.x * obj.z;
  64.          ty = obj.y + -camLoc.y * obj.z;
  65.          tR = getRadians(sx,sy,tx,ty);
  66.          vec = getVector(tR + angleOffsetRand,8.5 + speedBoost);
  67.          vx = vec.x;
  68.          vy = vec.y - 6;
  69.       }
  70.       
  71.       override public function fStep() : *
  72.       {
  73.          var id:* = undefined;
  74.          super.fStep();
  75.          if(Math.random() < 0.145)
  76.          {
  77.             id = new InkDrop();
  78.             WorldScene.Instance.createFX(this,id);
  79.             id.vx = Math.random() * 0.08 - 0.04;
  80.          }
  81.          _scaleSin += _scaleSinVel;
  82.          s = 3.75 + 0.75 * Math.sin(_scaleSin);
  83.          r += 0.1;
  84.          vy += 0.14;
  85.       }
  86.    }
  87. }
  88.